/* Spacedrive V2 - Color System
 * Colors are defined in packages/ui/style/colors.js
 * and converted to CSS variables here for web/desktop use
 */

:root {
	/* Hue for dark theme */
	--dark-hue: 235;

	/* Accent color */
	--color-accent: 220, 90%, 56%;
	--color-accent-faint: 220, 90%, 64%;
	--color-accent-deep: 220, 90%, 47%;

	/* Text colors (ink) */
	--color-ink: 235, 15%, 92%;
	--color-ink-dull: 235, 10%, 70%;
	--color-ink-faint: 235, 10%, 55%;

	/* Sidebar colors */
	--color-sidebar: 235, 15%, 7%;
	--color-sidebar-box: 235, 15%, 16%;
	--color-sidebar-line: 235, 15%, 23%;
	--color-sidebar-ink: 235, 15%, 92%;
	--color-sidebar-ink-dull: 235, 10%, 70%;
	--color-sidebar-ink-faint: 235, 10%, 55%;
	--color-sidebar-divider: 235, 15%, 17%;
	--color-sidebar-button: 235, 15%, 18%;
	--color-sidebar-selected: 235, 15%, 24%;

	/* Main app colors */
	--color-app: 235, 15%, 13%;
	--color-app-box: 235, 15%, 18%;
	--color-app-dark-box: 235, 10%, 7%;
	--color-app-overlay: 235, 15%, 16%;
	--color-app-line: 235, 15%, 23%;
	--color-app-frame: 235, 15%, 25%;
	--color-app-button: 235, 15%, 20%;
	--color-app-hover: 235, 15%, 22%;
	--color-app-selected: 235, 15%, 24%;

	/* Menu colors (for dropdowns, context menus) */
	--color-menu: 235, 15%, 13%;
	--color-menu-line: 235, 15%, 23%;
	--color-menu-hover: 235, 15%, 20%;
	--color-menu-selected: 235, 15%, 24%;
	--color-menu-shade: 235, 15%, 8%;
	--color-menu-ink: 235, 15%, 92%;
	--color-menu-faint: 235, 10%, 55%;
}

/* Top bar blur effect (macOS specific) */
.top-bar-blur {
	backdrop-filter: saturate(120%) blur(18px);
}

/* Window frame border (macOS) */
.frame::before {
	content: "";
	pointer-events: none;
	user-select: none;
	position: absolute;
	inset: 0px;
	border-radius: inherit;
	padding: 1px;
	background: var(--color-app-frame);
	mask: linear-gradient(black, black) content-box content-box,
		linear-gradient(black, black);
	mask-composite: xor;
	-webkit-mask-composite: xor;
	z-index: 9999;
}

/* Scrollbar styling */
.no-scrollbar::-webkit-scrollbar {
	display: none;
}

.no-scrollbar {
	-ms-overflow-style: none;
	scrollbar-width: none;
}

/* Fade mask for scrollable content */
.mask-fade-out {
	mask-image: linear-gradient(to bottom, black calc(100% - 40px), transparent 100%);
	-webkit-mask-image: linear-gradient(to bottom, black calc(100% - 40px), transparent 100%);
}

/* Checkerboard pattern for transparent images */
.checkerboard {
	background-image: linear-gradient(45deg, #16161b 25%, transparent 25%),
		linear-gradient(-45deg, #16161b 25%, transparent 25%),
		linear-gradient(45deg, transparent 75%, #16161b 75%),
		linear-gradient(-45deg, transparent 75%, #16161b 75%);
	background-size: 20px 20px;
	background-position: 0 0, 0 10px, 10px -10px, -10px 0px;
}

/* Animated gradient for audio player background */
.audio-gradient {
	position: relative;
	background: #000;
}

.audio-gradient::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(-45deg, #ee7752, #e73c7e, #23a6d5, #23d5ab);
	background-size: 400% 400%;
	animation: audio-gradient-shift 15s ease infinite;
	opacity: 0.7;
}

.audio-gradient::after {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse at center, transparent 0%, transparent 40%, rgba(0, 0, 0, 0.8) 100%);
	pointer-events: none;
}

.audio-gradient.paused::before {
	animation-play-state: paused;
}

@keyframes audio-gradient-shift {
	0% {
		background-position: 0% 50%;
	}
	50% {
		background-position: 100% 50%;
	}
	100% {
		background-position: 0% 50%;
	}
}
